package org.naxx.security.model.impl;

import java.util.ArrayList;
import java.util.List;

import org.naxx.security.model.Target;
import org.naxx.security.model.match.MatchContainer;

public class TargetImpl implements Target {
	
	private List<MatchContainer> actionMatches;
	private List<MatchContainer> environmentMatches;
	private List<MatchContainer> resourceMatches;
	private List<MatchContainer> subjectMatches;
	
	public TargetImpl() {
		this.actionMatches = new ArrayList<MatchContainer>();
		this.environmentMatches = new ArrayList<MatchContainer>();
		this.resourceMatches = new ArrayList<MatchContainer>();
		this.subjectMatches = new ArrayList<MatchContainer>();
	}

	public TargetImpl(List<MatchContainer> actionMatches, List<MatchContainer> environmentMatches, 
			List<MatchContainer> resourceMatches, List<MatchContainer> subjectMatches) {
		this.actionMatches = actionMatches;
		this.environmentMatches = environmentMatches;
		this.resourceMatches = resourceMatches;
		this.subjectMatches = subjectMatches;
	}

	public List<MatchContainer> getActionMatches() {
		return this.actionMatches;
	}

	public List<MatchContainer> getEnvironmentMatches() {
		return this.environmentMatches;
	}

	public List<MatchContainer> getResourceMatches() {
		return this.resourceMatches;
	}

	public List<MatchContainer> getSubjectMatches() {
		return this.subjectMatches;
	}
}
